package aliyun.cx.admin.service;

import aliyun.cx.admin.entity.ArticleTag;
import aliyun.cx.admin.entity.Tag;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

/**
 * 文章标签关联服务接口
 */
public interface ArticleTagService extends IService<ArticleTag> {
    
    /**
     * 根据文章ID获取标签列表
     */
    List<Tag> getTagsByArticleId(Long articleId);
    
    /**
     * 根据标签ID获取文章ID列表
     */
    List<Long> getArticleIdsByTagId(Long tagId);
    
    /**
     * 为文章设置标签
     */
    boolean setArticleTags(Long articleId, List<Long> tagIds);
    
    /**
     * 删除文章的所有标签关联
     */
    boolean deleteByArticleId(Long articleId);
    
    /**
     * 删除标签的所有文章关联
     */
    boolean deleteByTagId(Long tagId);
    
    /**
     * 检查文章和标签是否已关联
     */
    boolean isArticleTagExists(Long articleId, Long tagId);
}